﻿using System;
using System.Numerics;
using System.Windows;
namespace a1
{
    class outprime
    {
        private int primenum = 0;
        // 检查一个数是否为素数
        private static bool IsPrime(int number)
        {
            if (number < 2)
                return false;

            for (int i = 2; i * i <= number; i++)
            {
                if (number % i == 0)
                    return false;
            }
            return true;
        }
        //判断输入的数是否为正整数
        private static bool IsPositiveInteger(string input)
        {
            int number;
            return int.TryParse(input, out number) && number > 0;
        }
        //输出素数因子
        public static void PrintPrimeFactors(int number)
        {
            Console.WriteLine($"素数因子({number})：");

            // 找出所有素数因子
            for (int i = 2; i <= number; i++)
            {
                if (number % i == 0 && IsPrime(i))
                {
                    Console.WriteLine(i);
                }
            }
        }
        public static void Main()
        {
            string input;
            int number;

            do
            {
                Console.Write("请输入一个正整数：");
                input = Console.ReadLine();
            }
            while (!IsPositiveInteger(input));

            number = int.Parse(input);

            PrintPrimeFactors(number);
        }
    }

}
